package com.gaolang.service;

import com.gaolang.pojo.Medicine;
import com.gaolang.pojo.OrderForm;
import com.gaolang.pojo.ShopCar;
import com.gaolang.pojo.User;

import java.util.List;

/**
 * @author DELLHL
 */
public interface UserService {

    /**
     *  登录验证
     * @param user  user对象
     * @return  Boolean类型
     */
    boolean loginAuthentication(User user);

    /**
     *  用户注册
     * @param user user对象
     * @return int类型
     */
    int registerUser(User user);

    /**
     *
     *  修改用户
     * @param user user对象
     * @return int类型
     */
    int modifyUser(User user);

    /**
     *
     *  修改用户
     * @param user user对象
     * @return int类型
     */
    int modifyUser2(User user);

    /**
     * 用户购物车信息
     * @param user_id 用户Id
     * @return list集合
     */
    List<Medicine> selectShopCar(Integer user_id);

    /**
     *  通过name找Id
     * @param username 用户名
     * @return intleix
     */
    int selectIdByName(String username);

    /**
     *  订单总价
     * @param user_id 用户id
     * @return 总价
     */
    double orderMoney(Integer user_id);

    /**
     *  查药
     * @param name 药名
     * @return Medicine对象
     */
    Medicine selectMedicine(String name);

    /**
     *   随机查询药品
     * @param type 类型
     * @param num 药品 个数
     * @return list集合
     */
    List<Medicine> selectMedicine(String type,Integer num);

    /**
     *  加入购物车
     * @param shopCar 商品
     * @return int类型
     */
    int addShopCar(ShopCar shopCar);

    /**
     * 修改数量
     * @param shopCar shopCar对象
     * @return int类型
     */
    int modifyShopNum(ShopCar shopCar);

    /**
     *  删除商品
     * @param user_id 商品id
     * @param med_id 药品id
     * @return int类型
     */
    int deleteShop(Integer user_id,Integer med_id);

    /**
     *  加入购物车
     * @param shopCar shopCar对象
     * @return int类型
     */
    int addShop(ShopCar shopCar);

    /**
     * id查用户
     * @param id 用户id
     * @return 对应user
     */
    User selectUserById(Integer id);

    /**
     *  增加订单
     * @param orderForm 订单对象
     * @return int类型
     */
    int orderFormAdd(OrderForm orderForm);

    /**
     *  查询
     * @param name 药名
     * @return
     */
    List<Medicine> selectByName(String name);



    List<OrderForm> order(Integer user_id);


}
